package com.project.service;

import com.project.bean.OrderBean;
import com.project.bean.OrderInfoBean;
import com.project.bean.UserBean;

import java.util.List;

/**
 * <p>
 * 订单表（用户模块） 服务类
 * </p>
 *
 * @author lhy
 * @since 2021-10-05
 */
public interface IOrderService {
    /**
     * 用户下单
     * 先生成新订单
     * 再根据生成订单的编号，添加订单明细
     * 再修改订单总价
     *
     * @param infoList  订单明细集合
     * @param orderBean 订单对象
     * @return 订单对象
     */
    public OrderBean addOrder(List<OrderInfoBean> infoList, OrderBean orderBean);

    /**
     * 修改订单状态
     *
     * @param orderCode 订单编号
     * @param status    新的订单状态
     * @return 修改后的订单对象
     */
    public OrderBean updateOrderStatus(String orderCode, int status);

    /**
     * 按选项查询一年之内的订单
     *
     * @param status   订单状态
     * @param userCode 用户编号
     * @return 订单集合
     */
    public List<OrderBean> findOrderByItem(Integer status, String userCode);

    /**
     * 按订单编号查询订单
     *
     * @param orderCode 订单编号
     * @return 订单对象
     */
    public OrderBean findByOrderCode(String orderCode);

    public void addOrderRiderAndUpdateStatus(String orderCode,String riderCode,String riderName,int status);

    public OrderBean finishOrderAndUpdateStatus(String orderCode, int status, String receiveTime);

    public void updateOrderStarStatus(String orderCode);


}
